The ability to manage one or more aspects of a workflow can be important to performing the workflow efficiently and successfully. A workflow can be used to describe constraints within which one or more functions are to be performed and to allocate resources for performing the one or more functions. Further, a workflow can describe tasks associated with performing a function, such as producing an item or providing a service, and can identify one or more parties permitted and/or required to execute such tasks. Additionally, a workflow can be modified to accommodate different tasks, such as in response to a previous iteration of the workflow or in response to a new requirement of the workflow. Managing one or more aspects of a workflow can include determining whether a particular task has been completed and identifying the resources expended in performing a task, such as hours worked or money spent.
In the past, individual reporting tools were used to capture information describing one or more portions of a workflow, such as adherence to a schedule or the resources expended in performing a task. For example, Gantt charts have been used to provide a schedule and to indicate a level of completeness at a particular point in time. A chart, however, can become out-dated after a short period of time. As the workflow progresses, additional information can become available and values can change. Further, updating a chart to indicate the current status of a workflow can require manual data collection and processing.
Project management applications were developed to provide functionality beyond reporting, such assisting with project planning and execution. A project management application can be configured as a desktop application utilized by a single user or as a distributed application that can be accessed by multiple users. Further, a project management application can be used to store information associated with a workflow over a period of time, thereby facilitating time-based analysis. Project management applications also can include charting tools, such as utilities that can automatically generate charts based on stored information. The information utilized by a project management application typically is entered manually by one or more application users. Simple project management applications have been implemented using spreadsheet and database programs, while specialty applications have been developed to provide more complex functionality.
Collaboration applications and workflow management tools also have been developed to provide project management applications that can make project management data available across computer networks. Web-based collaboration applications can be configured to store data in a central location, such as a network-accessible database, that can be accessed by authorized clients either automatically or on request. Additionally, collaboration applications can be configured to provide the same functionality as stand-alone project management applications, but also can perform distributed processing and data collection techniques across multiple computing devices.